{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## [Machine Bias](https://www.propublica.org/article/machine-bias-risk-assessments-in-criminal-sentencing): ProPublica's analysis of the COMPAS tool"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This workbook restates the initial data analysis tasks, per ProPublica's [methodology description](https://www.propublica.org/article/how-we-analyzed-the-compas-recidivism-algorithm) and [code](https://github.com/propublica/compas-analysis/blob/master/Compas%20Analysis.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will do our analysis with Pandas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Acquiring the dataset, and understanding the data collection methodology.\n",
    "\n",
    "Create a folder called \"data\" under the current folder, and download the COMPAS scores dataset.  The dataset is archived and is not expected to change.  Therefore, you can comment out this block if you already downloaded the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n",
      "                                 Dload  Upload   Total   Spent    Left  Speed\n",
      "100 2486k  100 2486k    0     0  2806k      0 --:--:-- --:--:-- --:--:-- 2803k\n"
     ]
    }
   ],
   "source": [
    "# Creates a folder \"data\" under the current folder\n",
    "!mkdir -p data\n",
    "# Removes any prior file if it exists\n",
    "!rm -f data/compas-scores-two-years.csv*\n",
    "# Fetches the most recent dataset and stores it under the folder data\n",
    "!curl 'https://raw.githubusercontent.com/propublica/compas-analysis/master/compas-scores-two-years.csv' -o data/compas-scores-two-years.csv\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Inspect the file.  Read the description of the [data collection methodology](https://www.propublica.org/article/how-we-analyzed-the-compas-recidivism-algorithm).  Salient points are highlighted below, with my annotations in **bold font**.  See full description from ProPublica for additional details.  \n",
    "\n",
    ">**Goal**: We looked at more than 10,000 criminal defendants in Broward County, Florida, and compared their predicted recidivism rates with the rate that actually occurred over a two-year period.\n",
    "\n",
    ">**COMPAS tool input (data subjects)**: When most defendants are booked in jail, they respond to a COMPAS questionnaire. Their answers are fed into the COMPAS software to generate several scores including predictions of *Risk of Recidivism* and *Risk of Violent Recidivism*\n",
    "\n",
    ">**How COMPAS input was acquired by ProPublica**: Through a public records request, ProPublica obtained two years worth of COMPAS scores from the Broward County Sheriff’s Office in Florida. We received data for all 18,610 people who were scored in 2013 and 2014.\n",
    "\n",
    ">**COMPAS tool output**: Each pretrial defendant received at least three COMPAS scores: “Risk of Recidivism,” “Risk of Violence” and “Risk of Failure to Appear. ... COMPAS scores for each defendant ranged from 1 to 10, with ten being the highest risk. Scores 1 to 4 were labeled by COMPAS as “Low”; 5 to 7 were labeled “Medium”; and 8 to 10 were labeled “High.”\n",
    "\n",
    ">**Data integration (record linkage) to matching COMPAS input and output with an individual's criminal history** Starting with the database of COMPAS scores, we built a profile of each person’s criminal history, both before and after they were scored. We collected public criminal records from the Broward County Clerk’s Office website through April 1, 2016. On average, defendants in our dataset were not incarcerated for 622.87 days (sd: 329.19).\n",
    "\n",
    ">**Data integration (record linkage) details**: We matched the criminal records to the COMPAS records using a person’s first and last names and date of birth. This is the same technique used in the Broward County COMPAS validation study conducted by researchers at Florida State University in 2010. We downloaded around 80,000 criminal records from the Broward County Clerk’s Office website.\n",
    "\n",
    ">**What is recidivism?**: Northpointe defined recidivism as “a finger-printable arrest involving a charge and a filing for any uniform crime reporting (UCR) code.” We interpreted that to mean a criminal offense that resulted in a jail booking and took place after the crime for which the person was COMPAS scored. ... **For most of our analysis, we defined recidivism as a new arrest within two years. **"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>first</th>\n",
       "      <th>last</th>\n",
       "      <th>compas_screening_date</th>\n",
       "      <th>sex</th>\n",
       "      <th>dob</th>\n",
       "      <th>age</th>\n",
       "      <th>age_cat</th>\n",
       "      <th>race</th>\n",
       "      <th>...</th>\n",
       "      <th>v_decile_score</th>\n",
       "      <th>v_score_text</th>\n",
       "      <th>v_screening_date</th>\n",
       "      <th>in_custody</th>\n",
       "      <th>out_custody</th>\n",
       "      <th>priors_count.1</th>\n",
       "      <th>start</th>\n",
       "      <th>end</th>\n",
       "      <th>event</th>\n",
       "      <th>two_year_recid</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>miguel hernandez</td>\n",
       "      <td>miguel</td>\n",
       "      <td>hernandez</td>\n",
       "      <td>2013-08-14</td>\n",
       "      <td>Male</td>\n",
       "      <td>1947-04-18</td>\n",
       "      <td>69</td>\n",
       "      <td>Greater than 45</td>\n",
       "      <td>Other</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>2013-08-14</td>\n",
       "      <td>2014-07-07</td>\n",
       "      <td>2014-07-14</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>327</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>kevon dixon</td>\n",
       "      <td>kevon</td>\n",
       "      <td>dixon</td>\n",
       "      <td>2013-01-27</td>\n",
       "      <td>Male</td>\n",
       "      <td>1982-01-22</td>\n",
       "      <td>34</td>\n",
       "      <td>25 - 45</td>\n",
       "      <td>African-American</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>2013-01-27</td>\n",
       "      <td>2013-01-26</td>\n",
       "      <td>2013-02-05</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>159</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4</td>\n",
       "      <td>ed philo</td>\n",
       "      <td>ed</td>\n",
       "      <td>philo</td>\n",
       "      <td>2013-04-14</td>\n",
       "      <td>Male</td>\n",
       "      <td>1991-05-14</td>\n",
       "      <td>24</td>\n",
       "      <td>Less than 25</td>\n",
       "      <td>African-American</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>Low</td>\n",
       "      <td>2013-04-14</td>\n",
       "      <td>2013-06-16</td>\n",
       "      <td>2013-06-16</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>63</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>marcu brown</td>\n",
       "      <td>marcu</td>\n",
       "      <td>brown</td>\n",
       "      <td>2013-01-13</td>\n",
       "      <td>Male</td>\n",
       "      <td>1993-01-21</td>\n",
       "      <td>23</td>\n",
       "      <td>Less than 25</td>\n",
       "      <td>African-American</td>\n",
       "      <td>...</td>\n",
       "      <td>6</td>\n",
       "      <td>Medium</td>\n",
       "      <td>2013-01-13</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1174</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>6</td>\n",
       "      <td>bouthy pierrelouis</td>\n",
       "      <td>bouthy</td>\n",
       "      <td>pierrelouis</td>\n",
       "      <td>2013-03-26</td>\n",
       "      <td>Male</td>\n",
       "      <td>1973-01-22</td>\n",
       "      <td>43</td>\n",
       "      <td>25 - 45</td>\n",
       "      <td>Other</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>2013-03-26</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1102</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 53 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   id                name   first         last compas_screening_date   sex  \\\n",
       "0   1    miguel hernandez  miguel    hernandez            2013-08-14  Male   \n",
       "1   3         kevon dixon   kevon        dixon            2013-01-27  Male   \n",
       "2   4            ed philo      ed        philo            2013-04-14  Male   \n",
       "3   5         marcu brown   marcu        brown            2013-01-13  Male   \n",
       "4   6  bouthy pierrelouis  bouthy  pierrelouis            2013-03-26  Male   \n",
       "\n",
       "          dob  age          age_cat              race      ...        \\\n",
       "0  1947-04-18   69  Greater than 45             Other      ...         \n",
       "1  1982-01-22   34          25 - 45  African-American      ...         \n",
       "2  1991-05-14   24     Less than 25  African-American      ...         \n",
       "3  1993-01-21   23     Less than 25  African-American      ...         \n",
       "4  1973-01-22   43          25 - 45             Other      ...         \n",
       "\n",
       "   v_decile_score  v_score_text  v_screening_date  in_custody  out_custody  \\\n",
       "0               1           Low        2013-08-14  2014-07-07   2014-07-14   \n",
       "1               1           Low        2013-01-27  2013-01-26   2013-02-05   \n",
       "2               3           Low        2013-04-14  2013-06-16   2013-06-16   \n",
       "3               6        Medium        2013-01-13         NaN          NaN   \n",
       "4               1           Low        2013-03-26         NaN          NaN   \n",
       "\n",
       "   priors_count.1 start   end event two_year_recid  \n",
       "0               0     0   327     0              0  \n",
       "1               0     9   159     1              1  \n",
       "2               4     0    63     0              1  \n",
       "3               1     0  1174     0              0  \n",
       "4               2     0  1102     0              0  \n",
       "\n",
       "[5 rows x 53 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csv_file_vr = 'data/compas-scores-two-years.csv'\n",
    "df = pd.read_csv(csv_file_vr)\n",
    "df.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>race</th>\n",
       "      <th>decile_score</th>\n",
       "      <th>score_text</th>\n",
       "      <th>v_decile_score</th>\n",
       "      <th>v_score_text</th>\n",
       "      <th>two_year_recid</th>\n",
       "      <th>priors_count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Male</td>\n",
       "      <td>69</td>\n",
       "      <td>Other</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>Male</td>\n",
       "      <td>34</td>\n",
       "      <td>African-American</td>\n",
       "      <td>3</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4</td>\n",
       "      <td>Male</td>\n",
       "      <td>24</td>\n",
       "      <td>African-American</td>\n",
       "      <td>4</td>\n",
       "      <td>Low</td>\n",
       "      <td>3</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>Male</td>\n",
       "      <td>23</td>\n",
       "      <td>African-American</td>\n",
       "      <td>8</td>\n",
       "      <td>High</td>\n",
       "      <td>6</td>\n",
       "      <td>Medium</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>6</td>\n",
       "      <td>Male</td>\n",
       "      <td>43</td>\n",
       "      <td>Other</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   id   sex  age              race  decile_score score_text  v_decile_score  \\\n",
       "0   1  Male   69             Other             1        Low               1   \n",
       "1   3  Male   34  African-American             3        Low               1   \n",
       "2   4  Male   24  African-American             4        Low               3   \n",
       "3   5  Male   23  African-American             8       High               6   \n",
       "4   6  Male   43             Other             1        Low               1   \n",
       "\n",
       "  v_score_text  two_year_recid  priors_count  \n",
       "0          Low               0             0  \n",
       "1          Low               1             0  \n",
       "2          Low               1             4  \n",
       "3       Medium               0             1  \n",
       "4          Low               0             2  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# projection: keep a subset of the columns in the original dataset\n",
    "df1 = df[['id','sex','age', 'race','decile_score','score_text','v_decile_score','v_score_text', \n",
    "          'two_year_recid','priors_count']]\n",
    "\n",
    "df1.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data profiling\n",
    "\n",
    "Understand the statistical properties of the dataset.  \n",
    "\n",
    "Here, we inspect the basic properties of the dataset: break-down by age, gender and race."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a20130da0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df1[\"age\"].hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x11da1a630>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df1[\"race\"].value_counts().plot(kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a20130d68>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df1[\"sex\"].value_counts().plot(kind='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data cleaning\n",
    "\n",
    "\"However not all of the rows are useable for the first round of analysis.\n",
    "\n",
    "There are a number of reasons remove rows because of missing data:\n",
    "\n",
    "If the charge date of a defendants Compas scored crime was not within 30 days from when the person was arrested, we assume that because of data quality reasons, that we do not have the right offense.\n",
    "We coded the recidivist flag -- is_recid -- to be -1 if we could not find a compas case at all.\n",
    "In a similar vein, ordinary traffic offenses -- those with a c_charge_degree of 'O' -- will not result in Jail time are removed (only two of them).\n",
    "We filtered the underlying data from Broward county to include only those rows representing people who had either recidivated in two years, or had at least two years outside of a correctional facility.\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>race</th>\n",
       "      <th>decile_score</th>\n",
       "      <th>score_text</th>\n",
       "      <th>v_decile_score</th>\n",
       "      <th>v_score_text</th>\n",
       "      <th>two_year_recid</th>\n",
       "      <th>priors_count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Male</td>\n",
       "      <td>69</td>\n",
       "      <td>Other</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>Male</td>\n",
       "      <td>34</td>\n",
       "      <td>African-American</td>\n",
       "      <td>3</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4</td>\n",
       "      <td>Male</td>\n",
       "      <td>24</td>\n",
       "      <td>African-American</td>\n",
       "      <td>4</td>\n",
       "      <td>Low</td>\n",
       "      <td>3</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>7</td>\n",
       "      <td>Male</td>\n",
       "      <td>44</td>\n",
       "      <td>Other</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>8</td>\n",
       "      <td>Male</td>\n",
       "      <td>41</td>\n",
       "      <td>Caucasian</td>\n",
       "      <td>6</td>\n",
       "      <td>Medium</td>\n",
       "      <td>2</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   id   sex  age              race  decile_score score_text  v_decile_score  \\\n",
       "0   1  Male   69             Other             1        Low               1   \n",
       "1   3  Male   34  African-American             3        Low               1   \n",
       "2   4  Male   24  African-American             4        Low               3   \n",
       "5   7  Male   44             Other             1        Low               1   \n",
       "6   8  Male   41         Caucasian             6     Medium               2   \n",
       "\n",
       "  v_score_text  two_year_recid  priors_count  \n",
       "0          Low               0             0  \n",
       "1          Low               1             0  \n",
       "2          Low               1             4  \n",
       "5          Low               0             0  \n",
       "6          Low               1            14  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# clean the data per ProPublica's methodology\n",
    "df2 = df1[(df.c_charge_degree != 'O') & (df.score_text != 'N/A') & (df.is_recid != -1)\n",
    "               & (df.days_b_screening_arrest <= 30) & (df.days_b_screening_arrest >= -30)]\n",
    "\n",
    "df2.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Original  7214\n",
      "Projected  7214\n",
      "Cleaned  6172\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>race</th>\n",
       "      <th>decile_score</th>\n",
       "      <th>score_text</th>\n",
       "      <th>v_decile_score</th>\n",
       "      <th>v_score_text</th>\n",
       "      <th>two_year_recid</th>\n",
       "      <th>priors_count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>Male</td>\n",
       "      <td>69</td>\n",
       "      <td>Other</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>Male</td>\n",
       "      <td>34</td>\n",
       "      <td>African-American</td>\n",
       "      <td>3</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4</td>\n",
       "      <td>Male</td>\n",
       "      <td>24</td>\n",
       "      <td>African-American</td>\n",
       "      <td>4</td>\n",
       "      <td>Low</td>\n",
       "      <td>3</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>7</td>\n",
       "      <td>Male</td>\n",
       "      <td>44</td>\n",
       "      <td>Other</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>Low</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>8</td>\n",
       "      <td>Male</td>\n",
       "      <td>41</td>\n",
       "      <td>Caucasian</td>\n",
       "      <td>6</td>\n",
       "      <td>Medium</td>\n",
       "      <td>2</td>\n",
       "      <td>Low</td>\n",
       "      <td>1</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   id   sex  age              race  decile_score score_text  v_decile_score  \\\n",
       "0   1  Male   69             Other             1        Low               1   \n",
       "1   3  Male   34  African-American             3        Low               1   \n",
       "2   4  Male   24  African-American             4        Low               3   \n",
       "5   7  Male   44             Other             1        Low               1   \n",
       "6   8  Male   41         Caucasian             6     Medium               2   \n",
       "\n",
       "  v_score_text  two_year_recid  priors_count  \n",
       "0          Low               0             0  \n",
       "1          Low               1             0  \n",
       "2          Low               1             4  \n",
       "5          Low               0             0  \n",
       "6          Low               1            14  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print('Original ', len(df))\n",
    "print('Projected ', len(df1))\n",
    "print ('Cleaned ', len(df2))\n",
    "df2.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data profiling, after data cleaning \n",
    "\n",
    "Look at basic properties of the dataset: break-down by age, gender and race.  Compare histograms before and after data cleaning.\n",
    "\n",
    "Observe that we are going through the lifecycle **iteratively**: profile, clean, profile again.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2069f6d8>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# visualize basic dataset statistics\n",
    "df1[\"age\"].hist()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data exploration\n",
    "\n",
    "Are there differences in the distribution of risk scores by gender or race?\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a207bed68>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# compute score histograms by race and by gender \n",
    "df_f = df2[(df2.sex == 'Female')]\n",
    "df_f[\"decile_score\"].hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2083b860>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_m = df2[(df2.sex == 'Male')]\n",
    "df_m[\"decile_score\"].hist()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a214b5cf8>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_aa = df2[(df2.race == 'African-American')]\n",
    "df_aa[\"decile_score\"].hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2157f6a0>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_wh = df2[(df2.race == 'Caucasian')]\n",
    "df_wh[\"decile_score\"].hist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a2167a6d8>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_aa[\"score_text\"].value_counts().plot(kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a21743470>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_wh[\"score_text\"].value_counts().plot(kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a21805080>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_aa[\"v_score_text\"].value_counts().plot(kind='bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a218bc6d8>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_wh[\"v_score_text\"].value_counts().plot(kind='bar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Data analysis\n",
    "\n",
    "See [ProPublica article](https://www.propublica.org/article/how-we-analyzed-the-compas-recidivism-algorithm) for details.  When evaluating performance of the prediction instrument, we consider **accuracy** and **parity** (or **balance**).\n",
    "\n",
    "- **High false-positives rates** Of those deemed likely to re-offend, in any crime category, only 61 percent were arrested for any subsequent crimes within two years.  Only 20 percent of people predicted to commit violent crimes actually went on to do so.\n",
    "\n",
    "- **Racial skew in scores** Scores for white defendants were skewed toward lower-risk categories. Scores for black defendants were not -- a symptom  of a potential problem.\n",
    "\n",
    "- **Racial skew in false-positive rates** 44.9% of African Americans are labeled high-risk but don't reoffend, compared to 23.5% of Caucasians.\n",
    "\n",
    "- **Racial skew in false-negative rates** 47.7% of Caucasians are labeled low-risk but do re-offend, compared to 28% of African Americans."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Be a data skeptic!\n",
    "\n",
    "What do we mean when we say that data is biased?  Societal bias?  Measurement bias?\n",
    "\n",
    "Consider the COMPAS questionaire.  Race is not one of the questions.  Then why are we seeing a difference in recidivism scores across the populations?\n",
    "\n",
    "### Be a technology skeptic!\n",
    "\n",
    "African Americans have higher recidivism rates.  [Recent results](https://arxiv.org/abs/1703.00056) show that when recidivism rates are different across sub-populations, then we cannot simultaneously equalize false-positive rates and false-negative rates!  \n",
    "\n",
    "This is **not** a technical issue: it is not our definition that's flawed!  Our society exhibits structural bias, which processes like those studies here reinforce.\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
